package club.pchome.jsoup;

import club.pchome.constant.PddConstant;
import club.pchome.utils.ExecuJs;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.jsoup.Connection.Method;
import org.jsoup.Connection.Response;
import org.jsoup.Jsoup;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

@Slf4j
public class JsoupUtils {

    public static void main(String[] args) {
//        String c = ExecuJs.encryptPasswd("123456");
//        System.out.println(c);
        JsoupUtils js = new JsoupUtils();

        System.out.println(js.loginPdd("13871127354" , "Tt805917091"));
    }

    /**
     * 登录
     */
    public String loginPdd(String mobile, String code) {
        Map<String, String> headers = headerSetCookies();
        String anti = ExecuJs.execuJs(PddConstant.adminLogin);
        JSONObject payload = new JSONObject();
        payload.put("username", mobile);
        String passwd = ExecuJs.encryptPasswd(code);
        payload.put("password", passwd);
        System.out.println(payload.toString());

        System.setProperty("http.proxyHost", "127.0.0.1");
        System.setProperty("https.proxyHost", "127.0.0.1");
        System.setProperty("http.proxyPort", "8888");
        System.setProperty("https.proxyPort", "8888");

        Response res;
        try {
            res = Jsoup.connect(PddConstant.adminLogin)
                    .header("Host", "mms.pinduoduo.com")
                    .header("Connection", "keep-alive")
                    .header("Content-Length", "1804")
                    .header("Content-Type", "application/json;charset=UTF-8")
                    .header("Anti-Content", anti)
                    .header("Accept-Encoding", "gzip, deflate, br")
                    .header("Accept-Language", "zh-CN,zh;q=0.9")
                    .header("Accept", "application/json")
                    .header("User-Agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1")
                    .header("Origin", "https://mms.pinduoduo.com")
                    .header("Referer", "https://mms.pinduoduo.com/login")
                    .header("Sec-Fetch-Site", "same-origin")
                    .header("Sec-Fetch-Mode", "cors")
                    .cookies(headers)
                    .requestBody(payload.toJSONString())
                    .timeout(6000)
                    .ignoreContentType(true)
                    .validateTLSCertificates(false)
                    .method(Method.POST)
                    .execute();

            if (res.statusCode() == 200) {
                return res.body();
            } else {
                System.out.println("501");
            }
        } catch (IOException e) {
            System.out.println("登录出错");
            return "500";
        }
        return null;
    }

    /**
     * 第一步: 打开商品页面
     * http://mobile.yangkeduo.com/goods2.html?goods_id=30630353558
     */
//    public String openGoodsPage(String url, User user, int type) {
//        Map<String, String> headers = headerSetCookies();
//        Response res;
//        try {
//            res = Jsoup.connect(SystemConstant.GOODS_URL + url)
//                    .header("Host", "mobile.yangkeduo.com")
//                    .header("Connection", "keep-alive")
//                    .header("Sec-Fetch-Mode", "navigate")
//                    .header("Sec-Fetch-Site", "none")
//                    .header("Accept-Encoding", "gzip, deflate, br")
//                    .header("Accept-Language", "zh-CN,zh;q=0.9")
//                    .header("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3")
//                    .header("User-Agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1")
//                    .header("Upgrade-Insecure-Requests", "1")
//                    .cookies(headers)
//                    .timeout(6000)
//                    .ignoreContentType(true)
//                    .validateTLSCertificates(false)
//                    .method(Method.GET)
//                    .execute();
//
//            if (res.statusCode() == 200) {
//                Document doc = Jsoup.parse(res.body());
//                Elements e = doc.getElementsByTag("script");
//
//                for (int i = 0; i < e.size(); i++){
//                   if(e.eq(i).toString().indexOf("window.rawData=") > 0) {
//                       String script = e.eq(i).toString();
//                       int start = script.indexOf("window.rawData=");
//                       int end = script.indexOf("</script>");
//                       String d = script.substring(start + 16, end - 10);
//                       JSONObject json = JSONObject.parseObject(d);
//                       JSONObject j1 = JSONObject.parseObject(json.get("store").toString());
//                       JSONObject j2 = JSONObject.parseObject(j1.get("initDataObj").toString());
//                       System.out.println(j2.toString());
//                       JSONObject j3 = JSONObject.parseObject(j2.get("goods").toString());
//                       JSONObject mall = JSONObject.parseObject(j2.get("mall").toString());
//                       //店铺资料
//                       System.out.println("店铺名称: "+mall.getString("mallName"));
//                       System.out.println("店铺ID: "+mall.getString("mallID"));
//
//                       JSONArray j4 = j3.getJSONArray("groupTypes");
//                       //0: 正常价格; 1: 拼团价格
//                       JSONObject groupId = j4.getJSONObject(0);
////                       System.out.println("正常价格groupId:"+ groupId.get("groupID"));
//                       JSONObject groupId_1 = j4.getJSONObject(1);
////                       System.out.println("拼团价格groupId:"+ groupId_1.get("groupID"));
//                       JSONArray j5 = j3.getJSONArray("skus");
//                       JSONObject skuId = j5.getJSONObject(0);
//
//                       String referer = j3.get("shareLink").toString();
//                       String nextUrl = j3.get("destinationUrl") + "?sku_id=" + skuId.get("skuID") + "&group_id=" + groupId.get("groupID") + "&goods_id=" + j3.get("goodsID") + "&goods_number=1&page_from=0&refer_page_element=single_buy&source_channel=0";
//
//                       Order order = new Order();
//                       order.setPayType(type);
//                       order.setGoodsUrl(url);
//                       return openGoodsPage2(nextUrl, referer, user, order);
//                   }
//                }
//            } else {
//                System.out.println("501");
//            }
//        } catch (IOException e) {
//            logger.error("Retime Out 2......");
//        }
//        return null;
//    }
//
//    /**
//     * 第二步下单
//     * @param nextUrl
//     * @param referer
//     */
//    public String openGoodsPage2(String nextUrl, String referer, User user, Order order) {
//
//        Map<String, String> headers = headerSetCookies(user);
//
//        Response res;
//        try {
//            res = Jsoup.connect(SystemConstant.ORIGIN + nextUrl)
//                    .header("Host", "mobile.yangkeduo.com")
//                    .header("Connection", "keep-alive")
//                    .header("Sec-Fetch-Mode", "navigate")
//                    .header("Sec-Fetch-Site", "same-origin")
//                    .header("Sec-Fetch-User", "?1")
//                    .header("Accept-Encoding", "gzip, deflate, br")
//                    .header("Accept-Language", "zh-CN,zh;q=0.9")
//                    .header("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3")
//                    .header("User-Agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1")
//                    .header("Upgrade-Insecure-Requests", "1")
//                    .header("Referer", SystemConstant.ORIGIN + referer)
//                    .cookies(headers)
//                    .timeout(6000)
//                    .ignoreContentType(true)
//                    .validateTLSCertificates(false)
//                    .method(Method.GET)
//                    .execute();
//
//            if (res.statusCode() == 200) {
//                String token = res.cookie("PDDAccessToken");
//
//                Document doc = Jsoup.parse(res.body());
//                Elements e = doc.getElementsByTag("script");
//                for (int i = 0; i < e.size(); i++) {
//                    if (e.eq(i).toString().indexOf("window.rawData=") > 0) {
//                        String script = e.eq(i).toString();
//
//                        int start = script.indexOf("window.rawData=");
//                        int end = script.indexOf("window.isBundle");
//                        String d = script.substring(start + 16, end - 6);
//                        System.out.println(d);
//                        JSONObject jo = JSONObject.parseObject(d);
//                        JSONObject jo1 = JSONObject.parseObject(jo.get("store").toString());
//
//                        JSONObject extendMap = JSONObject.parseObject(jo1.get("extendMap").toString());
//
//                        JSONObject activityParams = JSONObject.parseObject(jo1.get("activityParams").toString());
//
//                        JSONObject trackingContext = JSONObject.parseObject(jo1.get("trackingContext").toString());
//
//                        JSONObject addressInfo = JSONObject.parseObject(jo1.get("addressInfo").toString());
//
//                        JSONObject payload = new JSONObject();
//                        payload.put("address_id", addressInfo.get("addressId"));
//                        JSONObject jb = new JSONObject();
//                        jb.put("sku_id", jo1.get("skuId"));
//                        jb.put("sku_number", 1);
//                        jb.put("goods_id", jo1.get("goodsId"));
//
//                        ArrayList<Object> arrayList = new ArrayList<Object>();
//                        arrayList.add(jb);
//
//                        payload.put("goods", arrayList);
//                        payload.put("group_id", jo1.get("groupId"));
//
//                        String c = ExecuJs.execuJs(SystemConstant.ORIGIN + nextUrl);
//
//                        payload.put("anti_content", c);
//                        payload.put("duoduo_type", activityParams.get("duoduo_type"));
//                        payload.put("biz_type", activityParams.get("biz_type"));
//
//                        JSONObject j2 = new JSONObject();
//                        j2.put("create_order_token", extendMap.get("create_order_token"));
//                        j2.put("create_order_check", extendMap.get("create_order_check"));
//                        j2.put("original_front_env", extendMap.get("original_front_env"));
//                        j2.put("PTRACER-TRACE-UUID", extendMap.get("PTRACER-TRACE-UUID"));
//
//                        payload.put("attribute_fields", j2);
//                        payload.put("source_channel", "0");
//                        payload.put("source_type", 0);
//                        payload.put("pay_app_id", 9);
//                        payload.put("version", 1);
//                        payload.put("page_id", "10004_"+System.currentTimeMillis()+"_Bpf80qdcVE");
//
//                        System.out.println(payload.toJSONString());
//
//                        return openGoodsPage3(payload, user, SystemConstant.ORIGIN + nextUrl, order);
//                    }
//                }
//            } else {
//                System.out.println("501");
//            }
//        } catch (IOException e) {
//            logger.error("Retime Out 2......");
//        }
//
//        return null;
//    }
//
//    /**
//     * 第三步 生成订单
//     * @param payload
//     * @param user
//     * @param referer
//     */
//    public String openGoodsPage3(Object payload, User user, String referer, Order order) {
//
//        Map<String, String> headers = headerSetCookies(user);
//
//        Response res;
//        try {
//            res = Jsoup.connect( SystemConstant.order + user.getUid() )
//                    .header("Host", "mobile.yangkeduo.com")
//                    .header("Connection", "keep-alive")
//                    .header("Sec-Fetch-Mode", "cors")
//                    .header("Sec-Fetch-Site", "same-origin")
//                    .header("Content-Type", "application/json;charset=UTF-8")
//                    .header("Accept-Encoding", "gzip, deflate, br")
//                    .header("Accept-Language", "zh-CN,zh;q=0.9")
//                    .header("Accept", "*/*")
//                    .header("User-Agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1")
//                    .header("Origin", SystemConstant.ORIGIN)
//                    .header("Referer", referer)
//                    .header("AccessToken", user.getToken())
//                    .cookies(headers)
//                    .requestBody(payload.toString())
//                    .timeout(6000)
//                    .ignoreContentType(true)
//                    .validateTLSCertificates(false)
//                    .method(Method.POST)
//                    .execute();
//
//            if (res.statusCode() == 200) {
//                JSONObject jsonObject = JSONObject.parseObject(res.body());
//                System.out.println("jsonObject:"+jsonObject);
//
//                String order_sn = jsonObject.get("order_sn").toString();
//                String fp_id = jsonObject.get("fp_id").toString();
//
//                order.setGroupOrderId(jsonObject.getString("group_order_id"));
//                order.setUid(user.getUid());
//                order.setOrderSn(order_sn);
//                order.setCreateTime(new Date(jsonObject.getLong("server_time")*1000));
//                order.setExpireTime(5*60); //5分钟失效时间
//
//                if(order.getPayType() == 1){ // WX_PAY
//                    logger.info("微信订单: {} , 时间: "+ DateUtil.FMT_FN.format(System.currentTimeMillis()) ,order_sn);
//                    order.setPayUrl(SystemConstant.WX_PAY + fp_id);
//                }else{ //ALIPAY
//                	logger.info("----------------进入第四步,支付宝支付-----------------");
//                    logger.info("支付宝订单: {} , 时间: "+ DateUtil.FMT_FN.format(System.currentTimeMillis()) ,order_sn);
//                    order.setPayUrl(openGoodsPage4(user, order_sn , referer));
//                }
//                //保存订单数据
//                int result = orderService.save(order);
//                if(result > 0){
//                    Map<String, Object> map = BeanMapUtil.beanToMap(order);
//                    //创建redis缓存
//                    redisUtil.hmset("t_"+order_sn , map , order.getExpireTime());
//
//                    return order.getPayUrl();
//                }
//                return "501";
//            } else {
//                System.out.println("501");
//            }
//        } catch (IOException e) {
//            logger.error("Retime Out 2......");
//        }
//        return null;
//    }
//
//    /**
//     * 支付宝支付前
//     * @param user
//     * @param order_sn
//     * @param referer
//     */
//    public String openGoodsPage4(User user, String order_sn, String referer) {
//        Map<String, String> headers = headerSetCookies(user);
//
//        String body = "{\"pay_app_id\":9,\"version\":3,\"attribute_fields\":{\"paid_times\":0,\"forbid_contractcode\":\"1\",\"forbid_pappay\":\"1\"},\"return_url\":\""+SystemConstant.ORIGIN+"transac_wappay_calack.html?order_sn=" + order_sn + "\",\"order_sn\":\"" + order_sn + "\"}";
//        Response res;
//        try {
//            res = Jsoup.connect( SystemConstant.prepay + user.getUid())
//                    .header("Host", "mobile.yangkeduo.com")
//                    .header("Connection", "keep-alive")
//                    .header("Sec-Fetch-Mode", "cors")
//                    .header("Sec-Fetch-Site", "same-origin")
//                    .header("Content-Type", "application/json;charset=UTF-8")
//                    .header("Accept-Encoding", "gzip, deflate, br")
//                    .header("Accept-Language", "zh-CN,zh;q=0.9")
//                    .header("Accept", "*/*")
//                    .header("User-Agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1")
//                    .header("Origin", SystemConstant.ORIGIN)
//                    .header("Referer", referer)
//                    .header("AccessToken", user.getToken())
//                    .cookies(headers)
//                    .requestBody(body)
//                    .timeout(6000)
//                    .ignoreContentType(true)
//                    .validateTLSCertificates(false)
//                    .method(Method.POST)
//                    .execute();
//
//            if (res.statusCode() == 200) {
//
////                System.out.println(res.body());
////                System.out.println("referer = " + referer);
//                return openGoodsPage5(res.body() , referer);
//            } else {
//                System.out.println("501");
//            }
//        } catch (IOException e) {
//            logger.error("Retime Out 2......");
//        }
//        return null;
//    }
//
//    /**
//     * 支付宝支付
//     * @param webForms
//     */
//    public String openGoodsPage5(String webForms, String referer) {
//
//        HashMap<String, String> headers = new HashMap<>();
//        headers.put("cna", "vzURFt/poHMCAduFZSxQLZwq");
//        headers.put("UM_distinctid", "16d643082ff1ae-0dbaf99b727a24-67e153a-384000-16d6430830079c");
//        headers.put("JSESSIONID", "2CF65DB743288ABD331A9DD9C71845BF");
//        headers.put("ALIPAYJSESSIONID", "RZ12Ya2sFxvcYi3hIT3s0amEk6XyGdsuperapiRZ12");
//        headers.put("spanner", "PmHroAbiq9YqTDN+BMhdT+gs5+uoDSGzXt2T4qEYgj0=");
//        headers.put("awid", "RZ24RpfMuQtZYVEl7N4mgwXv4XZkA2mobileclientgwRZ24");
//        headers.put("ctoken", "rm6XtUkkWOY2LfDC");
//        headers.put("zone", "GZ00C");
//        Response res;
//        try {
//            System.out.println(webForms);
//            JSONObject jsonObject = JSONObject.parseObject(webForms);
//            String url = jsonObject.get("gateway_url").toString();
//            JSONObject j1 = JSONObject.parseObject(jsonObject.get("query").toString());
//            String service = j1.get("service").toString();
//            String partner = j1.get("partner").toString();
//            String seller_id = URLEncoder.encode(j1.get("seller_id").toString(), "UTF-8");
//            String payment_type = j1.get("payment_type").toString();
//            String notify_url = URLEncoder.encode(j1.get("notify_url").toString(), "UTF-8");
//            String out_trade_no = j1.get("out_trade_no").toString();
//            String subject = URLEncoder.encode(j1.get("subject").toString(), "UTF-8");
//            String total_fee = j1.get("total_fee").toString();
//            String return_url = URLEncoder.encode(j1.get("return_url").toString(), "UTF-8");
//            String sign = URLEncoder.encode(j1.get("sign").toString(), "UTF-8");
//            String sign_type = j1.get("sign_type").toString();
//            String goods_type = j1.get("goods_type").toString();
//            String _input_charset = j1.get("_input_charset").toString();
//
//            String body = url + "?service=" + service + "&partner=" + partner + "&seller_id=" + seller_id + "&payment_type=" + payment_type + "&notify_url=" + notify_url + "&out_trade_no=" + out_trade_no + "&subject=" + subject
//                    + "&total_fee=" + total_fee + "&return_url=" + return_url + "&sign=" + sign + "&sign_type=" + sign_type + "&goods_type=" + goods_type + "&_input_charset=" + _input_charset;
//
//            res = Jsoup.connect(body)
//                    .header("Host", "mapi.alipay.com")
//                    .header("Connection", "keep-alive")
//                    .header("Sec-Fetch-Mode", "navigate")
//                    .header("Sec-Fetch-User", "?1")
//                    .header("Sec-Fetch-Site", "cross-site")
//                    .header("Content-type", "text/html;charset=utf-8")
//                    .header("Accept-Encoding", "gzip, deflate, br")
//                    .header("Accept-Language", "zh-CN,zh;q=0.9")
//                    .header("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3")
//                    .header("User-Agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1")
//                    .header("Referer", referer)
//                    .cookies(headers)
//                    .timeout(6000)
//                    .ignoreContentType(true)
//                    .validateTLSCertificates(false)
//                    .method(Method.POST)
//                    .followRedirects(false)
//                    .execute();
//
//                return res.url().toString();
//
//        } catch (IOException e) {
//            logger.error("Retime Out 2......");
//        }
//        return null;
//    }

    /**
     * 设置cookie内容
     * @return
     */
    private Map<String, String> headerSetCookies() {
        Map<String, String> headers = new HashMap<String, String>();
        headers.put("api_uid", "rBQR414SIpmCHw0Bg30mAg==");
        headers.put("_nano_fp", "Xpd8l0PYn5ColpdbnC_nj6sgQngOp3UbmEKIrxhd");
        return headers;
    }

//    /**
//     * 设置cookie内容， 带参数
//     * @param user
//     * @return
//     */
//    private Map<String, String> headerSetCookies(User user) {
//        Map<String, String> headers = new HashMap<String, String>();
//        headers.put("api_uid", "rBUGXlqESX6Ft2XFHKntAg==");
//        headers.put("_nano_fp", "Xpdjlp9JXpPJn0dano_kS~vUkzyN4X5JfMoZSy40");
//        headers.put("msec", "1800000");
//        headers.put("chat_list_rec_list", "chat_list_rec_list_96KtdY");
//        headers.put("rec_list_orders", "rec_list_orders_jEGrt9");
//        headers.put("rec_list_goods_likes", "rec_list_goods_likes_GMcfFw");
//        headers.put("rec_list_index", "rec_list_index_0FcOGM");
//        headers.put("rec_list_personal", "rec_list_personal_2094qo");
//        headers.put("JSESSIONID", "E7997AFB3D28665E6EEF7897C8073602");
//        headers.put("ua", "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1");
//        headers.put("webp", "1");
//
//        headers.put("acid", user.getAcid());
//        headers.put("pdd_user_id", user.getUid());
//        headers.put("pdd_user_uin", user.getUin());
//        headers.put("PDDAccessToken", user.getToken());
//
//        return headers;
//    }
//
//    /**
//     * 设置收货地址
//     *
//     * @param object
//     * @param url
//     * @return
//     */
//    public String setAddress(User user, String url, JSONObject payload) {
//        Map<String, String> headers = headerSetCookies(user);
//
//        payload.put("is_default", "1");
//        String c = ExecuJs.execuJs(url);
//        payload.put("anti_content", c);
//        Response res;
//        try {
//            res = Jsoup.connect(url)
//                    .header("Host", "mobile.yangkeduo.com")
//                    .header("Connection", "keep-alive")
//                    .header("Accept", "application/json, text/plain, */*")
//                    .header("Content-Type", "application/json;charset=UTF-8")
//                    .header("Origin", SystemConstant.ORIGIN)
//                    .header("Accept-Encoding", "gzip, deflate, br")
//                    .header("Accept-Language", "zh-CN,zh;q=0.9")
//                    .header("User-Agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1")
//                    .header("Referer", SystemConstant.ORIGIN + "addresses.html?refer_page_name=personal&refer_page_id=10001_" + System.currentTimeMillis() + "_LeVtOmJWQc&refer_page_sn=10001")
//                    .header("AccessToken", user.getToken())
//                    .cookies(headers)
//                    .requestBody(payload.toJSONString())
//                    .timeout(6000)
//                    .ignoreContentType(true)
//                    .validateTLSCertificates(false)
//                    .method(Method.POST)
//                    .execute();
//
//            if (res.statusCode() == 200) {
//                return res.body();
//            }
//
//        } catch (IOException e) {
//            e.printStackTrace();
//        }
//        return null;
//    }
//
//    /**
//     * 获取省市县资料
//     *
//     * @param user
//     * @param url
//     * @return
//     */
//    public String regions(User user, String url) {
//
//        Map<String, String> headers = headerSetCookies(user);
//
//        Response res;
//        try {
//            res = Jsoup.connect(url)
//                    .header("Host", "mobile.yangkeduo.com")
//                    .header("Connection", "keep-alive")
//                    .header("Accept", "application/json, text/plain, */*")
//                    .header("Content-Type", "application/json;charset=UTF-8")
//                    .header("Accept-Encoding", "gzip, deflate, br")
//                    .header("Accept-Language", "zh-CN,zh;q=0.9")
//                    .header("User-Agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1")
//                    .header("Referer", SystemConstant.ORIGIN + "addresses.html?refer_page_name=personal&refer_page_id=10001_" + System.currentTimeMillis() + "_LeVtOmJWQc&refer_page_sn=10001")
//                    .header("AccessToken", user.getToken())
//                    .cookies(headers)
//                    .timeout(6000)
//                    .ignoreContentType(true)
//                    .validateTLSCertificates(false)
//                    .method(Method.GET)
//                    .execute();
//
//            if (res.statusCode() == 200) {
//                return res.body();
//            }
//
//        } catch (IOException e) {
////            e.printStackTrace();
//            return ""+SystemConstant.USER_INVALID;
//        }
//        return null;
//    }
//
//    /**
//     * 获取系统时间
//     * @param referer
//     * @param user
//     * @return
//     */
//    public String getSTM(String referer, User user) {
//        Map<String, String> headers = headerSetCookies(user);
//        Response res;
//        try {
//            res = Jsoup.connect(SystemConstant.STM + user.getUid())
//                    .header("Host", "mobile.yangkeduo.com")
//                    .header("Connection", "keep-alive")
//                    .header("Accept", "application/json, text/plain, */*")
//                    .header("Accept-Encoding", "gzip, deflate, br")
//                    .header("Accept-Language", "zh-CN,zh;q=0.9")
//                    .header("User-Agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1")
//                    .header("Referer", SystemConstant.ORIGIN + referer)
//                    .header("AccessToken", user.getToken())
//                    .cookies(headers)
//                    .timeout(6000)
//                    .ignoreContentType(true)
//                    .validateTLSCertificates(false)
//                    .method(Method.GET)
//                    .execute();
//
//            if (res.statusCode() == 200) {
//                return res.body();
//            }
//
//        } catch (IOException e) {
//            e.getStackTrace();
//        }
//        return null;
//    }
//
//    /**
//     * 判断订单是否支付
//     * @param user
//     * @param orderNo
//     * @param type 0 - 全部 ; 1 - 待付款; 2 - 待发货; 3 - 待收货; 4 - 待评价; 5 - 待分享
//     * @return
//     */
//    public boolean orderStatus(User user, String orderNo , int type) {
//        boolean flag = false;
//        Map<String, String> headers = headerSetCookies(user);
//
//        Response res;
//        try {
//            res = Jsoup.connect( SystemConstant.ORIGIN + "orders.html?type="+type+"&refer_page_name=personal&refer_page_id=10001_"+System.currentTimeMillis()+"_NwTh2nbOBI&refer_page_sn=10001&order_index=0")
//                    .header("Host", "mobile.yangkeduo.com")
//                    .header("Connection", "keep-alive")
//                    .header("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3")
//                    .header("Upgrade-Insecure-Requests","1")
//                    .header("Content-Type", "application/json;charset=UTF-8")
//                    .header("Accept-Encoding", "gzip, deflate, br")
//                    .header("Accept-Language", "zh-CN,zh;q=0.9")
//                    .header("User-Agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1")
//                    .header("Referer", SystemConstant.ORIGIN + "personal.html?refer_page_name=login&refer_page_id=10169_"+System.currentTimeMillis()+"_2JA8DhJtQa&refer_page_sn=10169&page_id=10001_"+System.currentTimeMillis()+"_NwTh2nbOBI&is_back=1")
//                    .cookies(headers)
//                    .timeout(6000)
//                    .ignoreContentType(true)
//                    .validateTLSCertificates(false)
//                    .method(Method.GET)
//                    .execute();
//
//            if (res.statusCode() == 200) {
//              //  System.out.println(res.body());
//                if(res.body().indexOf(orderNo) > 0){
//                    flag = true;
//                }
//            }
//        } catch (IOException e) {
////            e.printStackTrace();
//            return flag;
//        }
//        return flag;
//    }
//
//    /**
//     * 根据链接获取金额
//     * @param url
//     * @return
//     */
//    public Elements getGoodsPrice(String url) {
//        Map<String, String> headers = headerSetCookies();
//
//        Response res;
//        try {
//            res = Jsoup.connect(SystemConstant.GOODS_URL + url + "&refer_page_name=index&refer_page_id=10002_"+System.currentTimeMillis()+"_3ZRBmSjCen&refer_page_sn=10002")
//                    .header("Host", "mobile.yangkeduo.com")
//                    .header("Connection", "keep-alive")
//                    .header("Accept-Encoding", "gzip, deflate")
//                    .header("Accept-Language", "zh-CN,zh;q=0.9")
//                    .header("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3")
//                    .header("User-Agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1")
//                    .header("Upgrade-Insecure-Requests", "1")
//                    .header("Referer",SystemConstant.ORIGIN+"?page_id=10002_"+System.currentTimeMillis()+"_3ZRBmSjCen&is_back=1")
//                    .cookies(headers)
//                    .timeout(6000)
//                    .ignoreContentType(true)
//                    .validateTLSCertificates(false)
//                    .method(Method.GET)
//                    .execute();
//            if (res.statusCode() == 200) {
//                Document doc = Jsoup.parse(res.body());
//                Elements e = doc.getElementsByTag("script");
//                return e;
//            } else {
//                logger.error("获取商品信息失败");
//            }
//        } catch (IOException e) {
//            logger.error("获取商品信息失败");
//        }
//        return null;
//    }
//
//
//    public Elements getGoodsPrice2(String url) {
//        Map<String, String> headers = headerSetCookies();
//        Response res;
//        try {
//            res = Jsoup.connect(SystemConstant.GOODS_URL + url)
//                    .header("Host", "mobile.yangkeduo.com")
//                    .header("Connection", "keep-alive")
//                    .header("Sec-Fetch-Mode", "navigate")
//                    .header("Sec-Fetch-Site", "none")
//                    .header("Accept-Encoding", "gzip, deflate, br")
//                    .header("Accept-Language", "zh-CN,zh;q=0.9")
//                    .header("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3")
//                    .header("User-Agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1")
//                    .header("Upgrade-Insecure-Requests", "1")
//                    .cookies(headers)
//                    .timeout(6000)
//                    .ignoreContentType(true)
//                    .validateTLSCertificates(false)
//                    .method(Method.GET)
//                    .execute();
//
//            if (res.statusCode() == 200) {
//                Document doc = Jsoup.parse(res.body());
//                Elements e = doc.getElementsByTag("script");
//
//                for (int i = 0; i < e.size(); i++){
//                    if(e.eq(i).toString().indexOf("window.rawData=") > 0) {
//                        String script = e.eq(i).toString();
//                        int start = script.indexOf("window.rawData=");
//                        int end = script.indexOf("</script>");
//                        String d = script.substring(start + 16, end - 10);
//                        JSONObject json = JSONObject.parseObject(d);
//                        JSONObject j1 = JSONObject.parseObject(json.get("store").toString());
//                        JSONObject j2 = JSONObject.parseObject(j1.get("initDataObj").toString());
//                        System.out.println(j2.toString());
//                        JSONObject j3 = JSONObject.parseObject(j2.get("goods").toString());
//                        JSONObject mall = JSONObject.parseObject(j2.get("mall").toString());
//                        //店铺资料
//                        System.out.println("店铺名称: "+mall.getString("mallName"));
//                        System.out.println("店铺ID: "+mall.getString("mallID"));
//
//                        JSONArray j4 = j3.getJSONArray("groupTypes");
//                        //0: 正常价格; 1: 拼团价格
//                        JSONObject groupId = j4.getJSONObject(0);
////                       System.out.println("正常价格groupId:"+ groupId.get("groupID"));
//                        JSONObject groupId_1 = j4.getJSONObject(1);
////                       System.out.println("拼团价格groupId:"+ groupId_1.get("groupID"));
//                        JSONArray j5 = j3.getJSONArray("skus");
//                        JSONObject skuId = j5.getJSONObject(0);
//
//                        String referer = j3.get("shareLink").toString();
//                        String nextUrl = j3.get("destinationUrl") + "?sku_id=" + skuId.get("skuID") + "&group_id=" + groupId.get("groupID") + "&goods_id=" + j3.get("goodsID") + "&goods_number=1&page_from=0&refer_page_element=single_buy&source_channel=0";
//                    }
//                }
//                return e;
//            } else {
//                System.out.println("501");
//            }
//        } catch (IOException e) {
//            logger.error("Retime Out 2......");
//        }
//        return null;
//    }
}
